$(document).ready(function(){
	personaAutocomplete();
	//inicializarPrecio();
	actualizarBotonEliminar();
});

//INICIALIZA EL CALCULO DE LOS PRECIOS
function inicializarPrecio(){
	$(".recalcularPrecio").bind("change",calcularPrecioDetalle);
}

//AGREGA LA OPCION DE AUTOCOMPLETADO PARA LOS ARTICULOS
function personaAutocomplete(){
	$(".personaDescripcion").autocomplete({
		source: "personas/getPersonasLista",
		minLength: 5,
		select: function(event, item){
			//verificamos que el articulo no aya sido seleccionado
			var seleccionado = 0;
			var tbody = $('table#detallematriculasForm tbody');
			tbody.find('tr').each(function(i,tr){
				var inputs = $(tr).find("input[type=hidden]");
				var persona_id = isNaN(parseFloat($(inputs[0]).val()))?"0":parseFloat($(inputs[0]).val());
				if(persona_id == item.item.id){
					alert("La persona ya fue seleccionada");
					seleccionado = 1;
				}  
			});
			
			var inputs = $(this).parent().parent().find('input');
			
			if(seleccionado == 0){
				$(inputs[1]).attr('value',item.item.id);
				$(inputs[2]).attr('value',$('#MatriculaFechaActual').val());
				$(inputs[3]).attr('value','10');
			}else{
				$(this).attr("value",'');
				$(inputs[2]).attr('value',$('#MatriculaFechaActual').val());
				$(inputs[3]).attr('value','10');
			}
		}
	});	
}

//CALCULA EL PRECIO CON Y SIN IGV DE CADA DETALLE
function calcularPrecioDetalle(){
	var tbody = $('table#detalleordencomprasForm tbody');
	
	tbody.find('tr').each(function(i,tr){
		var inputs = $(tr).find("input[type=text]");
		var cantidad = isNaN(parseFloat($(inputs[3]).val()))?"0":parseFloat($(inputs[3]).val());
		var preciosinigv = isNaN(parseFloat($(inputs[4]).val()))?"0":parseFloat($(inputs[4]).val());
		$(inputs[5]).attr("value",number_format(cantidad*preciosinigv,2,'.',''));
	});
	
	calcularPrecioTotal();
}

//CALCULA EL COSTO DE LAS CANTIDADES TOTALIZADAS DE LA CABECERA DE LA ORDEN COMPRA
function calcularPrecioTotal(){
	var igv = isNaN(parseFloat($('#OrdencompraIgv').val()))?0:parseFloat($('#OrdencompraIgv').val());
	var tbody = $('table#detalleordencomprasForm tbody');
	var costototalsigv = 0.00;
	
	tbody.find('tr').each(function(i,tr){
		var inputs = $(tr).find("input[type=text]");
		var preciosinigv = isNaN(parseFloat($(inputs[5]).val()))?"0":parseFloat($(inputs[5]).val());
		costototalsigv += parseFloat(preciosinigv);
	});
	
	$('#OrdencompraPrcTotalSigv').attr('value', number_format(costototalsigv,2,'.',''));
	$('#OrdencompraPrcIgv').attr('value', number_format(costototalsigv*igv/100,2,'.',''));
	$('#OrdencompraPrcTotalCigv').attr('value', number_format(costototalsigv*(100+igv)/100,2,'.',''));
}


//PERMITE AGREGAR UN NUEVO REGISTRO A LA TABLA DE DETALLES  ###############################################################
function agregarRegistro(){
	var tbody = $('table#detallematriculasForm tbody');
	var numero_registros = tbody.find('tr').length;
	var primer_registro = tbody.find("tr:first").clone();
	
	primer_registro.find("input").each(function(i,e){
		$(e).attr("name",$(e).attr("name").replace("data[detalles][0","data[detalles]["+numero_registros));
		$(e).attr("id",$(e).attr("id").replace("detalles0","detalles"+numero_registros));
		$(e).attr("value","");
	});
	tbody.append(primer_registro);
	personaAutocomplete();
	actualizarBotonEliminar();
	//inicializarPrecio();
}

//PERMITE VISUALIZAR EL BOTON ELIMINAR
function actualizarBotonEliminar(){
	var tbody = $('table#detallematriculasForm tbody');
	var numero_registros = tbody.find('tr').length;
	if(numero_registros == 1){ tbody.find('tr:first .eliminarRegistro').addClass('hide'); }
	else{ tbody.find('tr .eliminarRegistro').removeClass('hide'); }
}

//ELIMINA UN REGISTRO
function eliminarRegistro(miThis){
	$(miThis).parent().parent().remove();
	actualizarNumeracionRegistro();
	actualizarBotonEliminar();
	calcularPrecioDetalle();
}

//REINICIA LA NUMERACION DE LOS DETALLES
function actualizarNumeracionRegistro(){
	var tbody = $('table#detallematriculasForm tbody');
	tbody.find('tr').each(function(i,tr){
		$(tr).find('input, select').each(function(j,e){
			$(e).attr('id', $(e).attr('id').replace(/^Detalles./, 'Detalles'+i));
			$(e).attr('name', $(e).attr('name').replace(/^data\[Detalles\]\[./, 'data[Detalles]['+i));
		});		
	});
}


